import type { ClientAppEnhance } from "@vuepress/client";
import {reactive} from "vue"
// import Badge from "./components/global/Badge.vue";
// import CodeGroup from "./components/global/CodeGroup.vue";
// import CodeGroupItem from "./components/global/CodeGroupItem.vue";
// import OutboundLink from "./components/global/OutboundLink.vue";
import Example from "./components/custom/example.vue";
import ComponentApi from "./components/custom/api.vue";

import accordionApi from "./components/ui-api/accordion/index.vue";
import alertApi from "./components/ui-api/alert/index.vue";
import avatarApi from "./components/ui-api/avatar/index.vue"
import appApi from "./components/ui-api/app/index.vue";
import badgeApi from "./components/ui-api/badge/index.vue";
import breadcrumbsApi from "./components/ui-api/breadcrumbs/index.vue";
import buttonApi from "./components/ui-api/button/index.vue";
import cardApi from "./components/ui-api/card/index.vue";
import checkboxApi from "./components/ui-api/checkbox/index.vue";
import checkboxesApi from "./components/ui-api/checkboxes/index.vue";
import datePickerApi from "./components/ui-api/date-picker/index.vue";
import dialogApi from "./components/ui-api/dialog/index.vue";
import dividerApi from "./components/ui-api/divider/index.vue";
import drawerApi from "./components/ui-api/drawer/index.vue";
import formApi from "./components/ui-api/form/index.vue";
import iconApi from "./components/ui-api/icon/index.vue";
import imageApi from "./components/ui-api/image/index.vue";
import inputApi from "./components/ui-api/input/index.vue";
import listApi from "./components/ui-api/list/index.vue";
import menuApi from "./components/ui-api/menu/index.vue";
import notificationApi from "./components/ui-api/notification/index.vue";
import overlayApi from "./components/ui-api/overlay/index.vue";
import parallaxApi from "./components/ui-api/parallax/index.vue";
import progressApi from "./components/ui-api/progress/index.vue";
import radioApi from "./components/ui-api/radio/index.vue";
import radiosApi from "./components/ui-api/radios/index.vue";
import ratingApi from "./components/ui-api/rating/index.vue";
import selectApi from "./components/ui-api/select/index.vue";
import sliderApi from "./components/ui-api/slider/index.vue";
import spinnerApi from "./components/ui-api/spinner/index.vue";
import stepsApi from "./components/ui-api/steps/index.vue";
import switchApi from "./components/ui-api/switch/index.vue";
import tableApi from "./components/ui-api/table/index.vue";
import tabsApi from "./components/ui-api/tabs/index.vue";
import tagApi from "./components/ui-api/tag/index.vue";
import timelineApi from "./components/ui-api/timeline/index.vue";
import textareaApi from "./components/ui-api/textarea/index.vue";
import toolbarApi from "./components/ui-api/toolbar/index.vue";
import tooltipApi from "./components/ui-api/tooltip/index.vue";




import "@mdi/font/css/materialdesignicons.min.css";
import "material-design-icons/iconfont/material-icons.css";
import "../styles/index.scss";

import BelleUI from "../../src"

// declare const DOCSEARCH_PROPS: unknown;
const clientAppEnhance: ClientAppEnhance = ({ app }) => {
  /* eslint-disable vue/match-component-file-name */
  // let BelleUI = {};
  // app.component("Badge", Badge);
  // app.component("CodeGroup", CodeGroup);
  // app.component("CodeGroupItem", CodeGroupItem);

  app.component("Example", Example);
  app.component("ComponentApi", ComponentApi);

  // app.component("OutboundLink", OutboundLink);

  app.component("accordionApi", accordionApi);
  app.component("alertApi", alertApi);
  app.component("avatarApi",avatarApi)
  app.component("appApi", appApi);
  app.component("badgeApi", badgeApi);
  app.component("breadcrumbsApi", breadcrumbsApi);
  app.component("buttonApi", buttonApi);
  app.component("cardApi", cardApi);
  app.component("checkboxApi", checkboxApi);
  app.component("checkboxesApi", checkboxesApi);
  app.component("datePickerApi", datePickerApi);
  app.component("dialogApi", dialogApi);
  app.component("dividerApi", dividerApi);
  app.component("drawerApi", drawerApi);
  app.component("formApi", formApi);
  app.component("iconApi", iconApi);
  app.component("imageApi", imageApi);
  app.component("inputApi", inputApi);
  app.component("listApi", listApi);
  app.component("menuApi", menuApi);
  app.component("notificationApi", notificationApi);
  app.component("overlayApi", overlayApi);
  app.component("parallaxApi", parallaxApi);
  app.component("progressApi", progressApi);
  app.component("radioApi", radioApi);
  app.component("radiosApi", radiosApi);
  app.component("ratingApi", ratingApi);
  app.component("selectApi", selectApi);
  app.component("sliderApi", sliderApi);
  app.component("spinnerApi", spinnerApi);
  app.component("stepsAp", stepsApi);
  app.component("switchApi", switchApi);
  app.component("tableApi", tableApi);
  app.component("tabsApi", tabsApi);
  app.component("tagApi", tagApi);
  app.component("timelineApi", timelineApi);
  app.component("textareaApi", textareaApi);
  app.component("toolbarApi", toolbarApi);
  app.component("tooltipApi", tooltipApi);

  app.use(BelleUI)

  new BelleUI(app, {
      colors: {
        primary: "#673ab7",
        secondary: "#dda3e7",
      },
  });

  
};

export default clientAppEnhance;
